1
Transformações Funcionais Fundamentais
AI019Lesson 3
00:00

Em Elixir, o cálculo é visto como uma série de transformações fundamentais. Os dados são imutáveis, e o operador = não é para atribuição, mas para correspondência de padrões.

1. O Operador de Correspondência

A correspondência permite ligar valores a padrões. Se a estrutura do lado esquerdo não corresponder ao direito, a transformação falha. O Elixir usa operadores especializados para fluxo de dados: Aritmética (+, -, *, /), Comparação (===, !==, >=), e Junção (<> para strings, ++ para listas).

2. A Expressão 'with'

A with expressão coordena transformações de múltiplos passos onde o sucesso é condicional. Ela permite encadear correspondências usando <-. Diferentemente do operador de correspondência =, se uma correspondência em <- falha, a expressão retorna o valor que não corresponde, em vez de levantar um erro.

[1,2,3][a|_] <- entradaa = 1Falha: Retornar entrada

3. Escopo e Sintaxe

Por trás dos panos, with é tratado como um macro ou chamada de função. Variáveis vinculadas dentro dele não vazam para o escopo externo. A sintaxe como media = with contagem = ..., do: soma/contagem é a forma baseada em expressões para calcular valores derivados.

$$\text{média} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>